var app = require('../app'),
    filePath = "",
    uploadingState = 0,     // 是否有文件上传中
    formReadyState = 0,     // 表单是否选择完毕
    fileReadyState = 0;     // 文件是否上传完毕

    toastr.options.timeOut = "2000";

function readyCheck(options){
    var i;
    for(i in options){
        if(!options[i]){
            return submitBtnState(false);
        }
    }
    return submitBtnState(true);
}

function submitBtnState(key){
    var button = $("#submitBtn");
    if(key){
        button.removeAttr("disabled");
    }else{
        button.attr("disabled", "disabled");
    }
}

function uploadFile() {
    var fd = new FormData();
    var file_obj = document.getElementById('fileUpload1').files[0];

    // 没有选择文件
    if(!file_obj){
        toastr.warning("您没有选择任何文件");

        // 更新按钮状态
        fileReadyState = 0;
        readyCheck({
            a: formReadyState,
            b: fileReadyState
        });

        return;
    }

    fd.append('file', file_obj);
    
    uploadingState = 1;

    $.ajax({
        url: '/apipublic/uploadXlsx',
        type: 'post',
        data: fd,
        //文件上传时必须配置的参数
        contentType: false,
        processData: false,
        dataType: "json",
        success : function(res){
            uploadingState = 0;
            if(res.code == 200){
                filePath = res.data.filepath;
                toastr.success("文件上传完毕");

                // 更新按钮状态
                fileReadyState = 1;
                readyCheck({
                    a: formReadyState,
                    b: fileReadyState
                });

            }else{
                toastr.warning(res.message);
            }
        },
        error : function(){
            uploadingState = 0;
            toastr.error("服务器异常");
        }
    });
   return false;
}



$("body")
.on("change", "#fileUpload1", function(){
    uploadFile();
})
.on("change", "#plaintiff_id", function(){
    var valueLength = $(this).val().length;
    if(valueLength){
        formReadyState = 1;
    }else{
        formReadyState = 0;
    }
    readyCheck({
        a: formReadyState,
        b: fileReadyState
    });
})
// 提交
.on("click", ".submit-btn", function(){
    var plaintiff = $("#plaintiff_id"),
        plaintiff_id = plaintiff.val();

    if(!plaintiff_id.length){
        toastr.warning("请选择原告方");
        return;
    }
    if(!filePath.length){
        if(uploadingState == 0){
            // 没有文件在上传中
            toastr.warning("请上传还款信息文件");
        }else{
            // 有文件在上传中
            toastr.warning("文件上传中，请耐心等待");
        }
        return;
    }

    // 上边这两个好像没用了
    // 禁止按钮点击
    submitBtnState(false);

    $.ajax({
        url: '/entryrepay/save',
        type: 'post',
        data: {
            filepath: filePath,
            plaintiff_id: plaintiff_id
        },
        dataType: "json",
        success : function(res){
            if(res.code == 200){
                // toastr.success("录入成功，正在刷新...");
                // setTimeout(function(){
                //     window.location.reload();
                // },1500);

                $('#confirm').modal('show');
                $('#confirm').find(".dialog-tips").html(res.message);

            }else{

                // 允许按钮点击
                submitBtnState(false);

                toastr.warning(res.message);
            }

        },
        error : function(){

            // 允许按钮点击
            submitBtnState(false);

            toastr.error("服务器异常");
        }
    });
})
.on("submit", "#form-box", function(){
    return false;
})
.on("reset", "#form-box", function(){
    formReadyState = 0;
    fileReadyState = 0;
    // 禁止按钮点击
    submitBtnState(false);
})
.on("click", "#confirmSubmit", function(){

    // toastr.success("录入成功，正在刷新...");
    setTimeout(function(){
        window.location.reload();
    },500);
});

// 二次确认 的模态框
$('#confirm')
.on('hide.bs.modal', function (event) {
    setTimeout(function(){
        window.location.reload();
    },500);
});